Method and system for searching for digital assets

ABSTRACT

A method of presenting digital assets in response to a search query by a user to locate at least one digital asset from a database of digital assets is described. Each digital asset has at least one keyword associated with it, and each associated keyword is part of a hierarchical organization of keywords. A first set of digital assets that have associated keywords equivalent to the search query is identified as well as suggested keywords that have e.g., an ancestor, descendant or sibling relation to the search query. The digital assets and the suggested keywords are presented to the user. The user selects a suggested keyword, and a second set of digital assets that have associated keywords equivalent to the suggested keyword is identified. The second set of digital assets is presented to the user.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of U.S. patent application Ser. No.12/131,786, now granted U.S. Pat. No. 9,251,172, entitled “METHOD ANDSYSTEM FOR SEARCHING FOR DIGITAL ASSETS,” filed Jun. 2, 2008, whichclaims the benefit of priority to U.S. Provisional Application No.60/941,582, entitled “METHOD AND SYSTEM FOR SEARCHING FOR IMAGES,” filedJun. 1, 2007, all of which are incorporated herein by reference in theirentireties.

BACKGROUND

In a typical image search, a user specifies one or more search terms inorder to locate images corresponding to the search terms. An imagetypically has metadata associated with it. An image search generallyworks by examining the associated metadata to determine if the metadatamatch a user-specified search term. Typically, images for which theassociated metadata match a user-specified search term are then returnedto the user.

One problem that a typical image search poses is that an image isunlikely to have associated metadata that adequately describe the image.It has been said that a picture is worth a thousand words. However, itis unlikely that an image has such a large amount of associatedmetadata. Even if an image has such a large amount of associatedmetadata, it is unlikely that the individual elements of the associatedmetadata would combine in a coherent manner to evoke the same responsein a user that viewing the image may evoke.

Accordingly, a system that allows a user to search for images by amethod that improves upon a typical image search would have significantutility.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a suitable computer that may employ aspectsof the invention.

FIG. 2 is a block diagram illustrating a suitable system in whichaspects of the invention may operate in a networked computerenvironment.

FIG. 3 is a flow diagram of a process for searching for images.

FIG. 4 depicts a representative interface.

FIG. 5A depicts an interface in which an initial search has beenrefined.

FIG. 5B depicts the interface in which subsequent refinements to theinitial search have been made.

FIG. 6 is a flow diagram of a process for returning terms in response toa user search.

FIG. 7 is a schematic view of the composition of sets of terms.

FIGS. 8A-8E depict an interface in accordance with some embodiments ofthe invention.

FIGS. 9A-9E depict an interface in accordance with some embodiments ofthe invention.

DETAILED DESCRIPTION

A software and/or hardware facility for searching for digital assets,such as images, is disclosed. The facility provides a user with a visualand tactile or visual with mixed metadata method of searching forrelevant images. The facility allows a user to specify one or moresearch terms in an initial search request. The facility may returnimages and terms or keywords in response to the initial search requestthat are intended to be both useful and inspirational to the user, toenable the user to brainstorm and find inspiration, and to visuallylocate relevant images. For purposes of this description the words“term” or “keyword” can include a phrase of one or more descriptiveterms or keywords. In some embodiments, the facility locates imagesand/or terms that are classified in a structured vocabulary, such as theone described in U.S. Pat. No. 6,735,583, assigned to Getty Images, Inc.of Seattle, Wash., entitled METHOD AND SYSTEM FOR CLASSIFYING ANDLOCATING MEDIA CONTENT, the entirety of which is hereby incorporated byreference. The structured vocabulary may also be referred to as thecontrolled vocabulary. The facility allows the user to refine or expandthe initial search by specifying that some of the returned images and/orterms shall or shall not become part of a subsequent search. Thefacility allows the user to continue refining or expanding subsequentsearches reiteratively or to start over with a new initial search. Thefacility can also be used to search for other types of digital assets,such as video files, audio files, animation files, other multimediafiles, text documents, text strings, keywords, or other types ofdocuments or digital resources.

In the following description, like numerals refer to like elementsthroughout. The terminology used in the description presented herein isnot intended to be interpreted in any limited or restrictive manner,simply because it is being utilized in conjunction with a detaileddescription of certain specific embodiments of the invention. Theterminology used in the description presented below is intended to beinterpreted in its broadest reasonable manner, even though it is beingused in conjunction with a detailed description of certain specificembodiments of the invention. Certain terms may even be emphasizedbelow; however, any terminology intended to be interpreted in anyrestricted manner will be overtly and specifically defined as such inthis Detailed Description section.

The following description provides specific details for a thoroughunderstanding and enabling description of these embodiments. One skilledin the art will understand, however, that the invention may be practicedwithout many of these details. Additionally, some well-known structuresor functions may not be shown or described in detail, so as to avoidunnecessarily obscuring the relevant description of the variousembodiments. Furthermore, embodiments of the invention may includeseveral novel features, no single one of which is solely responsible forits desirable attributes or which is essential to practicing aspects ofthe inventions herein described.

The facility provides the user with an interface that allows the user tosearch for images and view images and/or terms returned in response tothe user's request. In some embodiments, the interface consists of asearch region and three additional regions. The facility permits theuser to specify one or more search terms in the search region. Thefacility places images and/or terms that are responsive to the searchterms in the first additional region, which may be called the“Inspiration Palette.” The facility allows the user to place some of thereturned images and/or terms in the second additional region, which maybe called the “Action Palette.” The facility places images returned inresponse to the user's initial search and to subsequent searches in thethird additional region, which may be called the “Reaction Palette.”

The facility may allow the user to specify a single search term ormultiple search terms in the search region. The facility may provide theuser with the ability to select one or more categories in order tofilter their initial and subsequent search results. A filter may beselected by techniques well-known in the art, such as by a drop-downlist or radio buttons. The categories may be represented by labelscorresponding to pre-defined groups of users to which use of thefacility is directed, such as “Creative,” “Editorial,” or “Film.” Thefacility may require the user to specify a filter before requesting asearch or the facility may allow the user to specify a filter or changeor remove a specified filter after requesting a search. If the userspecifies a filter, the facility may return unfiltered images and/orterms but place only filtered images and/or terms in the InspirationPalette and/or Reaction Palette. The facility may do so in order toavoid re-running a search with a different filter, thus allowing a userto change filters in real time. Or, the facility may return and placeonly filtered images. The facility may choose one method or alternatebetween the two, depending upon user and system requirements. Thefacility may also allow the user to choose to perform a new initialsearch or to refine or expand an initial search by specifying one ormore additional search terms. In some embodiments the facility maypermit the user to specify that the facility return only images, orreturn only terms, or to return both images and/or terms.

In some embodiments, the facility may suggest search terms in responseto user input, especially ambiguous user input. For example, when theuser enters a search term, the facility may show terms from thestructured vocabulary that are associated with or that match that searchterm. The facility may suggest terms while the user is entering text,such as an “auto-complete” feature does, or the facility may suggestterms after the user has finished entering text. In such a way thefacility may conform the user search term to a term in the structuredvocabulary that it matches or is synonymous with. In some embodiments,the facility may use, e.g., a red star to indicate a direct match of thesearch term, and a grey star to indicate a more distant association, asindicated by the structured vocabulary. Or, the facility may provideother visual, audible or other indications to show direct matches ofsearch terms or other associations as indicated by the structuredvocabulary. In some embodiments the facility may maintain a history ofsearch terms for each user. The facility may then use techniqueswell-known in the art, such as a drop-down list, to display the searchterms to the user in the search region. This allows the user to easilyre-run stored searches.

Inspiration Palette

The facility places images and/or terms that are responsive to aninitial search in the Inspiration Palette. In some embodiments, thefacility returns images and/or terms that it locates based upon theirclassifications in the structured vocabulary hierarchy. The facilityreturns images and/or terms that directly match the user search term orare synonymous with the user search term. In addition to those directmatches, the facility may return images and/or terms related to thedirect matches, based upon their classifications in the structuredvocabulary. For example, the facility may return images and/or termsfrom the structured vocabulary hierarchy that are parents, children orsiblings of the direct matches. The facility may also return imagesand/or terms that represent other categories by which the user mayfurther refine an image search. These other categories may representeffectively binary choices, such as black and white or color, people orno people, indoors or outdoors. For example, the facility may return theterm “black and white.” If the user specifies that “black and white”shall become part of a subsequent search, the facility will only returnimages that are in black and white. In general the facility returns abroader set of images and/or terms than would be returned in a typicalkeyword image search that returns images having metadata/tags that matchthe keywords. The facility may return and place in the InspirationPalette all relevant images and/or terms or some subset of the relevantimages and/or terms. The facility may also return and place in theInspiration Palette a random sampling of images and/or terms. Thefacility may also return and place in the Inspiration Palette imagesand/or terms based upon their popularity, i.e., the frequency with whichthey are selected as matching the search term, their association withpopular search terms, or images based on the frequency with which termsmatch them. If the facility cannot display all of the images and/orterms in the Inspiration Palette the facility may provide the user withthe ability to move sequentially within the search results, such as byusing a scrollbar or paginating through the search results.Alternatively, the facility may provide the user with the ability toeither “shuffle” or “refresh” the search results, so as to havedisplayed different images and/or terms.

In some embodiments, the facility returns images and/or terms from datapools formed from various data sources. A data pool is a collection ofimages and/or terms. The facility may form the following data pools fromthe structured or controlled vocabulary data source: identity (the termcorresponding to the initial search term), parents, ancestors, siblings,children, and related terms. The facility may form the following datapools from the refinement terms data source: concepts, subjects,locations, age and others, such as number of people in the image or thegender of image subjects. The facility may form data pools from anymetadata item that describes an image. The facility may form from otherdata sources the following data pools: popular search terms, which maybe based upon search terms most often entered by users; popular terms;which may be based upon terms most often applied to images; usualsuspects, which may be images and/or terms that are often beneficial tothe user in filtering a search; and reference images, which may beimages that match terms in the structured or controlled vocabulary. Thefacility may form other data pools from other data sources, such asdatabase data, static data sources, data from data mining operations,web log data and data from search indexers. The facility may form thedata pools periodically according to a schedule or as instructed by anadministrator of the facility.

In some embodiments, the usual suspects data pool includes images and/orterms that are returned because they may be useful to the user infiltering search results. The facility may use terms from the usualsuspects data pool in conjunction with the refinement terms in order toprovide more relevant images and/or terms that fall within the usualsuspects data pool.

The facility may also maintain categories or lists of excluded imagesand/or terms that are not to be returned in response to a user search.Excluded images and/or terms may include candidate images and/or terms;images and/or terms that are marked with a certain flag; terms that arenot applied to any images; terms that fall within a certain node of thestructured vocabulary hierarchy; and images and/or terms that are on amanually-populated or automatically-populated exclusion list. Thefacility may also apply rules to exclude images and/or terms from beingreturned in response to a user search. An example rule may be that if animage and/or term has a parent in a particular data pool then imagesand/or terms from certain other data pools are not to be returned.

In some embodiments, the facility places returned images and/or terms inthe Inspiration Palette in a “tag cloud,” which is a distribution basedupon the size and position of the images and/or terms based upon theirlocation in the structured vocabulary, as shown in FIGS. 5A and 5B. Or,the facility may order images and/or terms in the Inspiration Palettebased upon one or more factors, such their location in the structuredvocabulary, a result count, alphabetically, or the “popularity” ofimages and/or terms, as determined by the facility. The facility mayallow the user to specify how the facility shall place returned imagesand/or terms, such as by specifying that images shall be ordered in aleft column and terms in a right column. The facility may increase ordecrease the font size of returned terms in accordance with theirproximity to matching terms in the structured vocabulary. For example, areturned term that is an immediate parent of the matching term may havea larger font size than a returned term that is a more distant parent.Or, the facility may determine the font size of a returned term basedupon the number of associated returned images. The facility may vary thesize of returned images in a like manner. Images and/or terms of varyingsizes may be placed in the Inspiration Palette based upon their sizes,with the largest images and/or terms in the upper left corner andproceeding down to the smallest images and/or terms in the lower rightcorner. Alternatively, the images and font sizes may be randomly arrayedto facilitate creativity. In some embodiments, the facility apportionsweights to the results returned by a particular image and/or term. Thefacility may then place the returned images and/or terms in theInspiration Palette in accordance with their apportioned weights.

The facility may associate contextual menus with returned images and/orterms in the Inspiration Palette. The facility may display a contextualmenu in response to a user indication such as a mouse click or rollover.A contextual menu may display to the user various options, such as: 1)view greater detail about the image and/or term; 2) see the termsassociated with the image and/or term; 3) add the image and/or term tothe Action Palette; 4) find similar images and/or terms; 5) remove theimage and/or term from the search results; and 6) add the image to ashopping cart or “light box” for possible purchase or license. Otheroptions may be displayed in the contextual menu. Alternatively, thefacility may display to the user an interface that contains greaterdetail about an image and/or term in response to a user indication suchas a mouse click. An image may be categorized and the facility maydisplay other attributes or actions based on or determined by theimage's categorization. If the facility displays to the user the termsassociated with an image and/or term, the facility may order thedisplayed associated terms in accordance with the initial search terms.I.e., the facility may weight the associated terms so as to allow theuser to locate relevant images.

Action Palette

The facility allows the user to place some of the returned images and/orterms in the Action Palette. By doing so, the user effectively changestheir initial search results. This is because each image has a primaryterm associated with it. By placing an image in the Action Palette, theuser specifies that the associated primary term shall become part of thesubsequent search. The facility may also form the subsequent search inother ways, such as by adding both primary and secondary terms, byallowing the user to choose which terms to add, or by adding termsaccording to a weighting algorithm. The facility allows the user toplace an image and/or term in the Action Palette using the techniqueknown as “drag-and-drop.” The facility may allow the user to indicate byother means that an image and/or term is to be placed in the ActionPalette by other means, such as keyboard input or selection via anoption in a contextual menu as described above. The facility may allowthe user to simultaneously place several images and/or terms in theAction Palette. In some embodiments, the Action Palette is furtherdivided into two sub-regions. For images and/or terms placed in thefirst sub-region, the facility may add the associated terms to theinitial search using a Boolean “AND.” Conversely, terms associated withimages and/or terms placed in the second sub-region may be added to theinitial search using a Boolean “NOT.” In some embodiments, the ActionPalette region contains a third sub-region that corresponds to a Boolean“OR,” and the associated terms of images and/or terms placed in thisthird sub-region may be added to the initial search using a Boolean“OR.” The Boolean “OR” sub-region enables a user to expand instead ofrefine an image search. In some embodiments, when the user places animage and/or term from the Inspiration Palette in the Action Palette,the facility does not replace the moved image and/or term in theInspiration Palette but instead leaves a blank space. In someembodiments the facility replaces the moved image and/or term withanother image and/or term.

In some embodiments, the facility allows the user to indicate theimportance of images and/or terms added to the Action Palette. This maybe done by allowing the user to order images and/or terms within theAction Palette, or by some other method that allows the user to specifya ranking of images and/or terms, such as by positioning or sizing theimages and/or terms or by providing a weighting or ranking value. Insome embodiments, the facility allows the user to specify the termsassociated with an image that shall become part of the subsequentsearch. For example, an image of a yoga mat in a windowed room may havethe primary term “yoga” associated with it as well as the secondary term“window.” The facility may allow the user to specify that “yoga,”“window,” or another associated term shall become part of the subsequentsearch. The facility may also allow the user to specify additional termsby other than dragging and dropping images and/or terms in the ActionPalette. This may be done, for example, by allowing the user to selectthe Action Palette and manually enter a term, such as by typing a terminto a text box that is displayed proximate to the Action Palette.

Once the user has placed an image and/or term in the Action Palette, thefacility may perform a subsequent search that changes the user's initialsearch. In some embodiments the facility may cache the result setreturned in response to the initial search, and subsequent searches maysearch within or filter the cached result set, thereby allowing thefacility to forego performing a new search. This allows the user torefine or narrow the initial search. The facility may cache result setsfor other purposes, such as to allow faster pagination within results orto more quickly display images and/or terms in the Inspiration Palette,Action Palette or Reaction Palette. In some embodiments, an entirely newsearch is performed in response to the subsequent search query.

In some embodiments, if the user specifies additional search terms inthe search region the facility does not remove images and/or terms inthe Action Palette and does not clear images in the Reaction Palette.The facility may provide a button or other control that allows the userto direct the facility to clear the Action Palette, the ReactionPalette, and/or the Inspiration Palette.

The user may drag-and-drop images and/or terms out of the Action Paletteto remove their associated terms from subsequent searches. The facilitymay then place removed images and/or terms in the Inspiration Palette tomake them available for future operations. The facility may allow theuser to drag-and-drop images and/or terms from any palette region to anyother palette region, such as from the Reaction Palette to theInspiration Palette or from the Inspiration Palette to the ReactionPalette.

Reaction Palette

Images returned in response to an initial search and to subsequentsearches are displayed in the Reaction Palette. The facility may placean image in the Reaction Palette as soon as it is returned in order toindicate to the user that a search is ongoing. Alternatively, thefacility may wait until all images are returned before placing them inthe Reaction Palette in one batch. The user may be able to specify thesize of the images displayed in the Reaction Palette, such as byspecifying either a small, medium or large size. Alternatively, the sizemay be automatically varied among the images based on the estimatedresponsiveness to the search query.

If the user specifies more than one search term in the initial search,then the facility returns images with associated terms that match any ofthe user-specified search terms or any combination thereof. The facilitysorts returned images in order of most matching terms and places them inthe Reaction Palette. For example, if a user specifies four search termsA, B, C, and D, the facility would return all images with associatedterms that match either A, B, C, or D, or any combination thereof, suchas A, B, and C; B and D; or individually A; B; C; or D. The facilitywould place in the Reaction Palette first the images that match all foursearch terms, then the images that match any combination of three searchterms, then the images that match any combination of two search terms,then the images that match any individual search term. Alternatively,the facility may sort returned images by other factors, such as the dateof the image or the copyright, other rights holder information, orperceived responsiveness to the search query.

The facility may associate contextual menus with images in the ReactionPalette and display the contextual menus in response to a userindication. Such contextual menus may offer options similar to thosepreviously discussed as well as additional options, such as: 1) view thepurchase or license price; 2) mark the image as a favorite; 3) view moreimages like the selected image or 4) view image metadata, such as thecaption, photographer or copyright. Other options may be displayed inthe contextual menu. If the user chooses the option to view more imageslike the selected image, the facility may display a different set ofimages taken from the larger set of returned images, or the facility mayperform a new search incorporating the primary term associated with theselected image. Alternatively, the facility may permit the user tospecify whether to display a different set of images or to perform a newsearch.

The facility may also zoom the image or otherwise allow the user topreview the image in response to a user indication, such as a mouserollover. The facility may also permit the user to drag-and-drop imagesto a “light box” or shopping cart region or icon for potential purchaseor license.

In some embodiments, the facility may allow the user to drag-and-drop animage from the Reaction Palette to the Action Palette so as to permitthe user to request more images like the moved image. The facility mayalso allow the user to drag-and-drop images and/or terms from theInspiration Palette, the Action Palette or the Reaction Palette to thesearch region. This allows the facility to identify images more like themoved image by searching for images and/or terms with associated termsthat are similar to the associated terms of the images and/or termsmoved into the search region.

In certain situations, the search query corresponding to the imagesand/or terms specified by the user may be such that the facility returnsno results. In some embodiments, the facility may present a message tothe user indicating that there are no results and suggest to the userpossible changes. The user may then drag-and-drop images and/or termsfrom the Action Palette to the Inspiration Palette, or within thedifferent sub-regions of the Action Palette, in order to change thesearch query. In some embodiments, the facility provides only imagesand/or terms in the Inspiration Palette that will return results whenadded to the user's search query. In some embodiments, the facility mayreturn a standard set of images and/or terms in response to a searchquery that would otherwise return no results.

In order to learn user preferences, the facility may ask the userquestions during the search process, such as why the user has selected aparticular image. The facility could also request that the user rankselected images or ask the user to select a favorite image. The facilitymay do so in an attempt to provide the user with more control over thesearch process and results, or in order to provide images and/or termsin the Inspiration Palette that better match the user's search terms.The facility may also display in the search region the actual querycorresponding to the user's search and subsequent refinements so as toprovide the user with more control over the search process and results.

The facility supports digital assets, such as images, regardless ofimage content, classification, image size, type of image (e.g., JPEG,GIF, PNG, RAW or others) or other image attributes or characteristics.The facility also supports other types of digital assets, such as videofiles, audio files, animation files, other multimedia files, textdocuments, or other types of documents or digital resources. In someembodiments the facility displays only images that fall into one or moreclassifications, such as “Editorial,” “Creative,” or “Film.” Forexample, images that are classified as “Editorial” may be images of oneor more individuals who are well-known to the public. The facility mayassociate certain biographical information as terms with such images soas to permit the user to identify images of named individuals withvarying career or personality aspects.

Suitable System

FIG. 1 and the following discussion provide a brief, general descriptionof a suitable computing environment in which the invention can beimplemented. Although not required, aspects of the invention aredescribed in the general context of computer-executable instructions,such as routines executed by a general-purpose computer, e.g., a servercomputer, wireless device or personal computer. Those skilled in therelevant art will appreciate that the invention can be practiced withother communications, data processing, or computer systemconfigurations, including: Internet appliances, hand-held devices(including personal digital assistants (PDAs)), wearable computers, allmanner of cellular or mobile phones, multi-processor systems,microprocessor-based or programmable consumer electronics, set-topboxes, network PCs, mini-computers, mainframe computers, and the like.Indeed, the terms “computer,” “system,” and the like are generally usedinterchangeably herein, and refer to any of the above devices andsystems, as well as any data processor.

Aspects of the invention can be embodied in a special purpose computeror data processor that is specifically programmed, configured, orconstructed to perform one or more of the computer-executableinstructions explained in detail herein. Aspects of the invention canalso be practiced in distributed computing environments where tasks ormodules are performed by remote processing devices, which are linkedthrough a communications network, such as a Local Area Network (LAN),Wide Area Network (WAN), or the Internet. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

Aspects of the invention may be stored or distributed oncomputer-readable media, including magnetically or optically readablecomputer discs, hard-wired or preprogrammed chips (e.g., EEPROMsemiconductor chips), nanotechnology memory, biological memory, or otherdata storage media. Indeed, computer implemented instructions, datastructures, screen displays, and other data under aspects of theinvention may be distributed over the Internet or over other networks(including wireless networks), on a propagated signal on a propagationmedium (e.g., an electromagnetic wave(s), a sound wave, etc.) over aperiod of time, or they may be provided on any analog or digital network(packet switched, circuit switched, or other scheme).

Turning to the figures, FIG. 1 depicts one embodiment of the inventionthat employs a computer 100, such as a personal computer or workstation,having one or more processors 101 coupled to one or more user inputdevices 102 and data storage devices 104. The computer is also coupledto at least one output device such as a display device 106 and one ormore optional additional output devices 108 (e.g., printer, plotter,speakers, tactile or olfactory output devices, etc.). The computer maybe coupled to external computers, such as via an optional networkconnection 110, a wireless transceiver 112, or both.

The input devices 102 may include a keyboard and/or a pointing devicesuch as a mouse. Other input devices are possible such as a microphone,joystick, pen, game pad, scanner, digital camera, video camera, and thelike. The data storage devices 104 may include any type ofcomputer-readable media that can store data accessible by the computer100, such as magnetic hard and floppy disk drives, optical disk drives,magnetic cassettes, tape drives, flash memory cards, digital video disks(DVDs), Bernoulli cartridges, RAMs, ROMs, smart cards, etc. Indeed, anymedium for storing or transmitting computer-readable instructions anddata may be employed, including a connection port to or node on anetwork such as a local area network (LAN), wide area network (WAN) orthe Internet (not shown in FIG. 1).

Aspects of the invention may be practiced in a variety of othercomputing environments. For example, referring to FIG. 2, a distributedcomputing environment with a web interface includes one or more usercomputers 202 in a system 200 are shown, each of which includes abrowser program module 204 that permits the computer to access andexchange data with the Internet 206, including web sites within theWorld Wide Web (“Web”) portion of the Internet. The user computers maybe substantially similar to the computer described above with respect toFIG. 1. User computers may include other program modules such as anoperating system, one or more application programs (e.g., wordprocessing or spread sheet applications), and the like. The computersmay be general-purpose devices that can be programmed to run varioustypes of applications, or they may be single-purpose devices optimizedor limited to a particular function or class of functions. Moreimportantly, while shown with web browsers, any application program forproviding a graphical user interface to users may be employed, asdescribed in detail below; the use of a web browser and web interfaceare only used as a familiar example here.

At least one server computer 208, coupled to the Internet or Web 206,performs much or all of the functions for receiving, routing and storingof electronic messages, such as web pages, audio signals, and electronicimages. While the Internet is shown, a private network, such as anintranet may indeed be preferred in some applications. The network mayhave a client-server architecture, in which a computer is dedicated toserving other client computers, or it may have other architectures suchas a peer-to-peer, in which one or more computers serve simultaneouslyas servers and clients. A database 210 or databases, coupled to theserver computer(s), stores much of the web pages and content exchangedbetween the user computers. The server computer(s), including thedatabase(s), may employ security measures to inhibit malicious attackson the system, and to preserve integrity of the messages and data storedtherein (e.g., firewall systems, secure socket layers (SSL), passwordprotection schemes, encryption, and the like).

The server computer 208 may include a server engine 212, a web pagemanagement component 214, a content management component 216 and adatabase management component 218. The server engine performs basicprocessing and operating system level tasks. The web page managementcomponent handles creation and display or routing of web pages. Usersmay access the server computer by means of a URL associated therewith.The content management component handles most of the functions in theembodiments described herein. The database management component includesstorage and retrieval tasks with respect to the database, queries to thedatabase, and storage of data such as video, graphics and audio signals.

FIG. 3 is a flow diagram of a process 300 implemented by the facility topermit the user to submit an initial search for images and refine theinitial search by specifying that some of the returned images and/orterms shall or shall not become part of a subsequent search. In step 305the facility displays the interface to the user, with the interfaceincluding two or more of the search region, the Inspiration Palette, theAction Palette and the Reaction Palette. In step 310 the facilityreceives one or more search terms from the user. The facilitydisambiguates the one or more search terms by conforming or normalizingthem to one or more terms in the structured vocabulary. The user thenselects the appropriate structured vocabulary term. Alternatively, theuser may start over and input one or more different search terms. Afterthe user has selected the appropriate term from the structuredvocabulary, the facility receives the selected term. In step 315 thefacility determines if any images and/or terms match the selected termor are synonymous with the selected term. Matching may be an exactmatch, a close match, a fuzzy match, or other match algorithm. In step320 the facility returns matching images and/or terms and displays theimages and/or terms as described above. In step 325 the facilityreceives an indication from the user of a refinement of the initialsearch. In step 330 the facility updates the initial search resultsbased on the initial search and the user refinement of the initialsearch.

FIG. 4 depicts a representative interface 400, which includes the searchregion 455 and the three additional regions described above. The usermay specify one or more search terms in text box 405, located in searchregion 455. In this depiction the facility has returned images and termsthat match the user search term “yoga,” and placed the returned imagesand terms in Inspiration Palette 410. These images and terms includeimage 460 and term 415, which is displayed in a larger font sizerelative to that of surrounding terms. Inspiration Palette 410 alsocontains an image 465 for which an associated term 420 is displayed.Action Palette 425 is divided into two sub-regions 430 and 435. The usermay place images and/or terms in sub-region 430 to specify that thefacility is to add the associated terms to the initial search using aBoolean “AND.” In this example term 440 is placed in sub-region 430. Theuser may also place images and/or terms in sub-region 435 to specifythat the facility is to add the associated terms to the initial searchusing a Boolean “NOT.” In some embodiments the interface includes athird sub-region (not shown) corresponding to a Boolean “OR.” ReactionPalette 445 contains images (not shown) returned in response to aninitial search and subsequent searches. These include images 450 a, 450b . . . through 450 n.

FIG. 5A depicts another interface 500. The interface includes text box505, in which the search term “yoga” has again been entered. TheInspiration Palette 510 contains images and terms returned in responseto the search request. The Inspiration Palette has a scrollbar 535 thatallows the user to scroll through all returned images and terms. In thisinterface the images and terms are ordered differently from the imagesand terms in FIG. 4. The Action Palette 525 contains the term “yoga” aswell as an image, and the corresponding term 515 and image 520 in theAction Palette are highlighted to indicate to the user that they havebeen placed in the Action Palette. The Reaction Palette 530 containsimages returned in response to the refinement of the initial search.There is also a scrollbar 540 that permits the user to scroll throughimages in the Reaction Palette. In some embodiments the facility mayenable the user to paginate between pages of images in the ReactionPalette, or to shuffle or refresh the images.

FIG. 5B depicts the same interface 500 but with more images and terms inthe Action Palette 525, indicating subsequent refinements of the user'sinitial search. Again, the terms and images in the Action Palette arehighlighted in the Inspiration Palette 510. The Reaction Palette 530 inFIG. 5B contains a different set of images than the Reaction Palettedepicted in FIG. 5A, illustrating that subsequent refinements to asearch produces different results.

FIG. 6 is a flow diagram of a process 600 implemented by the facilityfor returning terms in response to a user search. The facility may makecertain assumptions in implementing the process. The facility may assumethat data pools are the sole sources of terms. The facility may assumethat each data pool has a desired number of terms. The facility mayassume that not all pools can supply enough terms to match the amount ofterms desired to be taken from those pools. The facility may assume thatdemand is distributed to designated data pools or groups of data pools.The facility may assume that term weights may be assigned globally bypopularity or, in some cases, within the data pool.

In step 605 the facility retrieves the desired number of terms from eachdata pool. The facility may pull the data from each of the desired datapools using appropriate filtering and sorting and/or a distributionmodel for data extraction. Data pools may be populated from the originaldata sources, data caches, or static lists. In step 610 the facilityretrieves additional terms from the existing data pools to accommodatefor unfulfilled demand. Unfulfilled demand may occur when a data pooldoes not have enough data to satisfy the initial request. For example,if a term has no children, the children data pool would have no data andany desired number of terms would become unfulfilled demand. In step 615the facility determines the weight of each term, if the term is to beweighted. A term's weight may be dependent on its data pool. Specificdata pools may provide weighted values and refinement terms indicate howmany times they occur. Specific data pools may derive a constant weightand related terms may have a constant weight since they are manuallyassigned. A term may be given a score based upon the number of times itis assigned to images and weighted accordingly. A term may be given ascore based upon being listed amongst the popular search terms andweighted accordingly. In step 620 the facility compiles a list of termsfrom all the data pools. The facility may combine the terms for use inthe list. The facility may retain the original data pool and term weightfor use in the display and organization of the terms.

In some embodiments the facility includes a configuration component thatallows administrators of the facility to specify various aspects of theprocess for returning terms. The configuration component may allowadministrators to fine-tune the process as well as enable administratorsto evaluate the effectiveness of the process. The configurationcomponent may allow administrators to specify, among other aspects:named sections for term data pools; a data pool from which to deriveterms (from an existing set of available data pools); the desired numberof terms to return; the maximum number of terms to use from specificdata pools; and where the facility may retrieve additional terms if aspecific data pool cannot meet the demand for terms from that data pool.The following depicts a sample configuration for the facility:

Pool # Name Priority Desired Max Floor Ceiling 1 Term 1 1 1 n/a n/a 6Related Terms 2 15 15 25% 95% 5 Children 3 2 4 n/a n/a 2 Parent 4 1 1n/a n/a 7 Refine: Subject 5 10 15 25% 95% 8 Refine: Concept 6 10 15 25%95% 4 Siblings 7 2 4 n/a n/a 3 Ancestors 8 1 3 n/a n/a Configurable yesyes yes yes yes

In this sample configuration the “Pool #” refers to an identificationnumber for the data pool. “Name” refers to the name of the data pool andmay describe the relationship of the terms in the data pool to thesearch term entered by the user. “Priority” refers to the order in whichthe Inspiration Palette should be populated with terms from these datapools. “Desired” refers to the minimum number of terms that should betaken from the data pool if there is an adequate supply of terms withinthe data pool. A data pool's priority and desired settings may combineto specify that the facility is to return terms from lower priority datapools if the facility cannot obtain the desired number of terms from thedata pool of that particular priority. “Max” refers to the maximumnumber of terms that should be taken from the particular data pool.“Floor” refers to the minimum percentage of the search results that termmust be associated with in order for the facility to return the term fordisplay in the Inspiration Palette. “Ceiling” refers to the maximumpercentage of the search results that the term can be associated with inorder for the facility to return the term for display in the InspirationPalette. In embodiments where the Action Palette region contains an “OR”sub-region the configuration component may not use a ceiling.“Configurable” refers to the ability of the values in the variouscolumns to be set by administrators of the facility. There may beadditional columns and/or values to the configuration component thatallow administrators to further configure the facility. The various datapools may have different requirements due to their characteristics andthe configuration component allows for the different requirements to betaken into account. For example, the facility may select terms using adifferent process from different data pools, or may have differentexclusions for different data pools.

FIG. 7 depicts a schematic view 700 of the composition of sets of termsaccording to some embodiments. Data sources 705, such as term lookup720, provide different data types 710, such as controlled vocabulary725. Data may be extracted from the data sources using selecteddistribution 735 and organized into different sets of data pools 715,such as parent 730. A configuration 740 may be applied to the data poolsindividually and/or as sets of data pools to form the sets of terms 750.

In some embodiments, the facility may cache sets of terms for specificperiods of time. The facility may do so because the sets of terms maynot change frequently. Caching sets of terms may enable the facility toquickly return images and/or terms in response to a user search. Thefacility may also cache the data in the data pools and/or the data indata sources. The facility may do so because this data may be expensiveto gather, cheap to store, and it may change infrequently. The facilitymay also cache data at various other levels in order to improve systemperformance. For example, the facility may derive the data pools and/orthe term sets prior to usage by performing data mining on the keyworddata and other data sources. The data generated from this mining couldthen be formatted into a persistent data cache in order to provide avery fast access and an optimal user experience.

FIGS. 8A-8E depict an interface 800 in accordance with anotherembodiment of the invention. In FIG. 8A, the user may specify a searchterm in text box 805 and submit the search term by clicking the searchbutton 810. In response to the user's search term, the facility hasreturned multiple terms for display in the Inspiration Palette 825. Inthis embodiment the facility has not returned images for display in theInspiration Palette 825. The Action Palette 830 contains threesub-regions. Sub-region 840 corresponds to a Boolean “AND” and termsdragged-and-dropped into sub-region 840 will be added to the user'sinitial search using a Boolean “AND,” which enables a user to refine aninitial search. Sub-region 845 corresponds to a Boolean “OR” and termsdragged-and-dropped into sub-region 845 will be added to the user'sinitial search using a Boolean “OR,” which enables a user to expand aninitial search. Sub-region 850 corresponds to a Boolean “NOT” and termsdragged-and-dropped into sub-region 850 will be added to the user'sinitial search using a Boolean “NOT,” which enables a user to excludecontent. Images returned in response to the user's initial search andsubsequent searches are displayed in the Reaction Palette 855. Theinterface 800 also contains a grouping of multiple check boxes 815,which enable a user to apply or remove display filters. The filters“RM,” “RR,” and “RF,” which stand for “Rights-Managed,” “Rights-Ready,”and “Royalty-Free,” respectively, as well as the filters “Photography,”and “Illustrations” are configured as Boolean “OR” filters in theembodiment depicted in FIG. 8A. The facility will return and displayimages that satisfy any one of the filters specified in the check boxes815. The interface 800 also contains a button 820 labeled “More Filters”which can enable a user to specify more ways to filter display results.For example, FIG. 8B depicts additional filters 835 that a user mayselect. The filters 835 include “Color,” which if selected displayscolor images, “Black & White,” which if selected displays black andwhite images, “Horizontal,” which if selected displays images that havea horizontal or landscape orientation, and “Vertical,” which if selecteddisplays images that have a vertical or portrait orientation. Otherfilters are, of course, possible.

In FIG. 8C, the facility has suggested search terms in response to userinput entered into text box 805. The facility displays search terms inthe region 860 that may be associated with the search term “yoga” 862entered by the user. In some embodiments, the facility may use, e.g., acolored star to indicate a direct match in the structured vocabulary orother factors or to indicate the best match to the user's input. Forexample, the facility has suggested the term 865 labeled “Yoga(Relaxation Exercise)” and marked the term 865 with a red star inresponse to the user's input of “yoga.” The facility has also markedseveral other terms 870 with a grey star to indicate a more distantassociation with the user's input, as indicated by the structuredvocabulary or other factors.

FIG. 8D depicts a region 875 that the facility displays in response to auser indication such as a mouse click within the sub-region 840 of theAction Palette 830. The region 875 contains a text box 880 that allows auser to type an additional search term, such as the term “exercise” 885.The user may wish to type in an additional search term, for example, ifthe user does not find appropriate terms in the Inspiration Palette 825that the user desires to use to modify the user's initial search. Theuser can similarly add search terms to the other sub-regions 845 and 850of the Action Palette 830. When the user clicks the search button 882the facility adds the search term 885 to the user's initial search usingthe appropriate Boolean connector and returns and displays images and/orterms returned by the modified initial search.

In FIG. 8E, the facility has suggested search terms in response to userinput entered into text box 880. The facility displays search terms inthe region 897 that may be associated with the search term “exercise”885 entered by the user. Similar to the description of FIG. 8C, thefacility uses a red star to mark the terms 890 that optimally correspondto the user's search term “exercise” 885, as indicated by the structuredvocabulary or other factors. Additional search terms 895 may be markedwith a grey star to indicate a more distant association with the user'sinput, as indicated by the structured vocabulary or other factors.

FIGS. 9A-9E depict interfaces in accordance with another embodiment ofthe invention. FIG. 9A depicts an interface 900 that enables a user toprovide a keyword in search box 905 and select the suggested keywordthat best matches the concept or idea for which user intends to searchfor images. FIG. 9B depicts the interface 900 showing that the user hasentered the words “rock climb” 962 into search box 905. The facility hasdisambiguated the user-entered words 962 by conforming or normalizingthem to a term in the structured vocabulary and has suggested fourkeywords in response: “Rock Climbing (Climbing)” 965, “Climbing Wall(Climbing Equipment),” “Climbing Equipment (Sports Equipment)” and “RockBoot (Sports Footwear)” (the latter three keywords collectively labeled970). The star next to the keyword “Rock Climbing (Climbing)” 965indicates that the facility has determined that this keyword optimallymatches or corresponds to the user's search term “rock climb.” FIG. 9Cdepicts the interface 900 showing the facility's response to the user'sselection of the keyword “Rock Climbing (Climbing)” 962. The InspirationPalette region 925 contains keywords suggested by the facility, such askeywords determined by the process 600 illustrated in FIG. 6 (e.g.,keywords from the structured vocabulary that have an ancestor ordescendant relation to the keyword “Rock Climbing (Climbing),” inaddition to other keywords.) The Action Palette contains twosub-regions: one sub-region 945 into which the user may drag-and-dropkeywords from the Inspiration Palette region 925 to take the user'ssearch for images in a new direction; and one sub-region 950 into whichthe user may drag-and-drop keywords from the Inspiration Palette region925 to exclude images having those associated keywords. The ReactionPalette region 955 displays a set of images having the keyword “RockClimbing (Climbing)” associated with them that the facility hasretrieved (e.g., those images having the keyword “rock climbing”associated with them).

FIG. 9D depicts the interface 900 showing the facility's response to theuser having dragged-and-dropped the keyword “Determination” 965 into thefirst sub-region 945 in the Action Palette. The facility has provided anew set of images in response to the selection of the keyword“Determination” 965 for display in the Reaction Palette region 955. FIG.9E depicts the interface 900 presented in response to the user havingdragged-and-dropped the keyword “Mountain” 970 into the secondsub-region 950 in the Action Palette. The facility has narrowed the setof images displayed in the Reaction Palette region 955 by excludingthose images having the keyword “Mountain” 970 associated with them.

Conclusion

The foregoing description details certain embodiments of the invention.It will be appreciated, however, that no matter how detailed theforegoing appears in text, the invention can be practiced in many ways.For example the user search pages are described in the context of a Webbase environment, with the search/results pages being accessed via a Webbrowser. The methods and processes could equally well be executed as astandalone system Furthermore, although the user desired features aredescribed in the context of copy space requirements, other features inan image could also be searched, where a predetermined pixel variationcan be identified. Although the subject matter has been described inlanguage specific to structural features and/or methodological steps, itis to be understood that the subject matter defined in the appendedclaims is not necessarily limited to the specific features or stepsdescribed. Rather, the specific features and steps are disclosed aspreferred forms of implementing the claimed subject matter.

Unless the context clearly requires otherwise, throughout thedescription and the claims, the words “comprise,” “comprising,” and thelike are to be construed in an inclusive sense, as opposed to anexclusive or exhaustive sense; that is to say, in the sense of“including, but not limited to.” As used herein, the terms “connected,”“coupled,” or any variant thereof, means any connection or coupling,either direct or indirect, between two or more elements; the coupling ofconnection between the elements can be physical, logical, or acombination thereof. Additionally, the words “herein,” “above,” “below,”and words of similar import, when used in this application, shall referto this application as a whole and not to any particular portions ofthis application. Where the context permits, words in the above DetailedDescription using the singular or plural number may also include theplural or singular number respectively. The word “or,” in reference to alist of two or more items, covers all of the following interpretationsof the word: any of the items in the list, all of the items in the list,and any combination of the items in the list.

The above detailed description of embodiments of the invention is notintended to be exhaustive or to limit the invention to the precise formdisclosed above. While specific embodiments of, and examples for, theinvention are described above for illustrative purposes, variousequivalent modifications are possible within the scope of the invention,as those skilled in the relevant art will recognize. For example, whileprocesses or blocks are presented in a given order, alternativeembodiments may perform routines having steps, or employ systems havingblocks, in a different order, and some processes or blocks may bedeleted, moved, added, subdivided, combined, and/or modified to providealternative or subcombinations. Each of these processes or blocks may beimplemented in a variety of different ways. Also, while processes orblocks are at times shown as being performed in series, these processesor blocks may instead be performed in parallel, or may be performed atdifferent times. Further any specific numbers noted herein are onlyexamples: alternative implementations may employ differing values orranges.

The teachings of the invention provided herein can be applied to othersystems, not necessarily the system described above. The elements andacts of the various embodiments described above can be combined toprovide further embodiments. Any patents and applications and otherreferences noted above, including any that may be listed in accompanyingfiling papers, are incorporated herein by reference. Aspects of theinvention can be modified, if necessary, to employ the systems,functions, and concepts of the various references described above toprovide yet further embodiments of the invention.

These and other changes can be made to the invention in light of theabove Detailed Description. While the above description describescertain embodiments of the invention, and describes the best modecontemplated, no matter how detailed the above appears in text, theinvention can be practiced in many ways. Details of the system may varyconsiderably in its implementation details, while still beingencompassed by the invention disclosed herein. As noted above,particular terminology used when describing certain features or aspectsof the invention should not be taken to imply that the terminology isbeing redefined herein to be restricted to any specific characteristics,features, or aspects of the invention with which that terminology isassociated. In general, the terms used in the following claims shouldnot be construed to limit the invention to the specific embodimentsdisclosed in the specification, unless the above Detailed Descriptionsection explicitly defines such terms. Accordingly, the actual scope ofthe invention encompasses not only the disclosed embodiments, but alsoall equivalent ways of practicing or implementing the invention underthe final claims.

We claim:
 1. A method for identifying digital assets in response to arefined search query, the method comprising: receiving, at a computingsystem, an initial search query from a user system for locating at leastone digital asset from a database of digital assets, wherein eachdigital asset in the database of digital assets is associated with atleast one keyword, and wherein each associated keyword is part of astructured vocabulary of hierarchically organized keywords maintained bythe computing system; determining a first set of digital assets from thedatabase of digital assets, wherein each digital asset in the first setof digital assets is associated with a keyword equivalent to orsynonymous with the initial search query; determining a first set ofsuggested keywords from the structured vocabulary, wherein eachsuggested keyword in the first set of suggested keywords has arelationship in the hierarchical organization to the initial searchquery, the relationship existing prior to receiving the initial searchquery; transmitting the first set of digital assets and the first set ofsuggested keywords to the user system; receiving, at the computingsystem, a refinement selection from the user system, wherein therefinement selection comprises a refinement digital asset from the firstset of digital assets or a refinement keyword from the first set ofsuggested keywords; generating a refined search query based on theinitial search query and the refinement selection; determining a secondset of digital assets from the database of digital assets, wherein eachdigital asset in the second set of digital assets is associated with akeyword equivalent to or synonymous with the refined search query;determining a second set of suggested keywords from the structuredvocabulary, wherein each suggested keyword in the second set ofsuggested keywords has a relationship in the hierarchical organizationto the refined search query, the relationship existing prior toreceiving the refined search query; and transmitting the second set ofdigital assets and the second set of suggested keywords to the usersystem.
 2. The method of claim 1, wherein at least one keyword of thefirst set of suggested keywords or one keyword of the second set ofsuggested keywords has a concept or subject in common with the searchquery.
 3. The method of claim 1, wherein at least one keyword of thefirst set of suggested keywords or one keyword of the second set ofsuggested keywords is a popularly searched keyword.
 4. The method ofclaim 1, wherein each keyword of the first set of suggested keywords isassociated with a weighting based on a nearness between the keyword andthe search query in the structured vocabulary.
 5. The method of claim 4,wherein each keyword is displayed to a user at the user system based onthe weighting associated with the keyword.
 6. The method of claim 1,wherein the second set of digital assets includes at least one digitalasset that is not included in the first set of digital assets.
 7. Themethod of claim 1, wherein the refinement selection is associated with aBoolean operator specified by a user of the user system, and wherein therefinement search query is further based on the Boolean operator.
 8. Anon-transitory computer-readable medium encoded with a computer programto identify digital assets, the computer program including instructionsto perform a method comprising: receiving, at a computing system, afirst search query from a user system for locating at least one digitalasset from a database of digital assets, wherein each digital asset inthe database of digital assets is associated with at least one keyword,and wherein each associated keyword is part of a structured vocabularyof hierarchically organized keywords maintained by the computing system;determining a first set of digital assets from the database of digitalassets, wherein each digital asset in the first set of digital assets isassociated with a keyword equivalent to or synonymous with the firstsearch query; determining a first set of suggested keywords from thestructured vocabulary, wherein each suggested keyword in the first setof suggested keywords has a relationship in the hierarchicalorganization to the first search query, the relationship existing priorto receiving the first search query; transmitting the first set ofdigital assets and the first set of suggested keywords to the usersystem; receiving, at the computing system, a refinement selection fromthe user system, wherein the refinement selection comprises a refinementdigital asset from the first set of digital assets or a refinementkeyword from the first set of suggested keywords; generating a refinedsearch query based on the search query and the refinement selection;determining a second set of digital assets from the database of digitalassets, wherein each digital asset in the second set of digital assetsis associated with a keyword equivalent to or synonymous with therefined search query; determining a second set of suggested keywordsfrom the structured vocabulary, wherein each suggested keyword in thesecond set of suggested keywords has a relationship in the hierarchicalorganization to the refined search query, the relationship existingprior to receiving the refined search query; and transmitting the secondset of digital assets and the second set of suggested keywords to theuser system.
 9. The non-transitory computer-readable medium of claim 8,wherein at least one keyword of the first set of suggested keywords orone keyword of the second set of suggested keywords has a concept orsubject in common with the search query.
 10. The non-transitorycomputer-readable medium of claim 8, wherein at least one keyword of thefirst set of suggested keywords or one keyword of the second set ofsuggested keywords is a popularly searched keyword.
 11. Thenon-transitory computer-readable medium of claim 8, wherein each keywordof the first set of suggested keywords is associated with a weightingbased on a nearness between the keyword and the search query in thestructured vocabulary.
 12. The non-transitory computer-readable mediumof claim 11, wherein each keyword is displayed to a user at the usersystem based on the weighting associated with the keyword.
 13. Thenon-transitory computer-readable medium of claim 8, wherein the secondset of digital assets includes at least one digital asset that is notincluded in the first set of digital assets.
 14. The non-transitorycomputer-readable medium of claim 8, wherein the refinement selection isassociated with a Boolean operator specified by a user of the usersystem, and wherein the refinement search query is further based on theBoolean operator.
 15. A computer system for providing digital assets inresponse to searches for digital assets, the system comprising: adatabase; and a server computer coupled to the database and executinginstructions that, when executed: store multiple keywords, wherein eachkeyword is part of a structured vocabulary of hierarchically organizedkeywords; and store multiple digital assets, wherein each digital assetis associated with at least one keyword; receive a first search queryfrom a user system for locating at least one digital asset from thedatabase of digital assets; determine a first set of digital assets fromthe database of digital assets, wherein each digital asset in the firstset of digital assets is associated with a keyword equivalent to orsynonymous with the first search query; determine a first set ofsuggested keywords from the structured vocabulary, wherein eachsuggested keyword in the first set of suggested keywords has arelationship in the hierarchical organization to the first search query,the relationship existing prior to receiving the first search query;transmit the first set of digital assets and the first set of suggestedkeywords to the user system; receive a refinement selection from theuser system, wherein the refinement selection comprises a refinementdigital asset from the first set of digital assets or a refinementkeyword from the first set of suggested keywords; generate a refinedsearch query based on the search query and the refinement selection;determine a second set of digital assets from the database of digitalassets, wherein each digital asset in the second set of digital assetsis associated with a keyword equivalent to or synonymous with therefined search query; determine a second set of suggested keywords fromthe structured vocabulary, wherein each suggested keyword in the secondset of suggested keywords has a relationship in the hierarchicalorganization to the refined search query, the relationship existingprior to receiving the refined search query; and transmit the second setof digital assets and the second set of suggested keywords to the usersystem.
 16. The computer system of claim 15, wherein at least onekeyword of the first set of suggested keywords or one keyword of thesecond set of suggested keywords has a concept or subject in common withthe search query.
 17. The computer system of claim 15, wherein at leastone keyword of the first set of suggested keywords or one keyword of thesecond set of suggested keywords is a popularly searched keyword. 18.The computer system of claim 15, wherein each keyword of the first setof suggested keywords is associated with a weighting based on a nearnessbetween the keyword and the search query in the structured vocabulary.19. The computer system of claim 18, wherein each keyword is displayedto a user at the user system based on the weighting associated with thekeyword.
 20. The computer system of claim 15, wherein the second set ofdigital assets includes at least one digital asset that is not includedin the first set of digital assets.
 21. The computer system of claim 15,wherein the refinement selection is associated with a Boolean operatorspecified by a user of the user system, and wherein the refinementsearch query is further based on the Boolean operator.